home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 2: Applications / Linux Cubed Series 2 - Applications.iso / editors / emacs / xemacs / xemacs-1.006 / xemacs-1 / lib / xemacs-19.13 / info / vm.info < prev    next >
Encoding:
GNU Info File  |  1995-09-01  |  63.9 KB  |  1,410 lines

  1. This is Info file ../info/vm.info, produced by Makeinfo-1.55 from the
  2. input file vm.texi.
  3.  
  4.    This file documents the VM mail reader.
  5.  
  6.    Copyright (C) 1989, 1991 Kyle E. Jones
  7.  
  8.    Permission is granted to make and distribute verbatim copies of this
  9. manual provided the copyright notice and this permission notice are
  10. preserved on all copies.
  11.  
  12. 
  13. File: vm.info,  Node: Top,  Next: Introduction,  Up: (DIR)
  14.  
  15.    This manual documents the VM mail reader, a Lisp program which runs
  16. as a subsystem under Emacs.  The manual is divided into the following
  17. chapters.
  18.  
  19. * Menu:
  20.  
  21. * Introduction::    Overview of the VM interface.
  22. * Starting Up::        What happens when your start VM.
  23. * Selecting Messages::    How to select messages for reading.
  24. * Reading Messages::    Previewing and paging through a message.
  25. * Sending Messages::    How to send messages from within VM.
  26. * Saving Messages::    How to save messages.
  27. * Deleting Messages::    How to delete, undelete and expunge messages
  28. * Editing Messages::    How to alter the text and headers of a message.
  29. * Message Marks::    Running VM commands on arbitrary subsets of messages.
  30. * Undoing::        How to undo changes to message attributes.
  31. * Grouping Messages::    How to make VM present similar message together.
  32. * Reading Digests::    How to read digests under VM.
  33. * Summaries::        How to view and customize the summary of a folder.
  34. * Miscellaneous::    Various customization variables undescribed elsewhere.
  35.  
  36. Indices:
  37.  
  38. * Key Index::        Menus of command keys and their references.
  39. * Command Index::    Menus of commands and their references.
  40. * Variable Index::    Menus of variables and their references.
  41.  
  42. 
  43. File: vm.info,  Node: License,  Next: Introduction,  Prev: Variable Index,  Up: Top
  44.  
  45. License
  46. *******
  47.  
  48. GNU GENERAL PUBLIC LICENSE
  49. **************************
  50.  
  51.                        Version 1, February 1989
  52.  
  53.      Copyright (C) 1989 Free Software Foundation, Inc.
  54.      675 Mass Ave, Cambridge, MA 02139, USA
  55.      
  56.      Everyone is permitted to copy and distribute verbatim copies
  57.      of this license document, but changing it is not allowed.
  58.  
  59. Preamble
  60. ========
  61.  
  62.    The license agreements of most software companies try to keep users
  63. at the mercy of those companies.  By contrast, our General Public
  64. License is intended to guarantee your freedom to share and change free
  65. software--to make sure the software is free for all its users.  The
  66. General Public License applies to the Free Software Foundation's
  67. software and to any other program whose authors commit to using it.
  68. You can use it for your programs, too.
  69.  
  70.    When we speak of free software, we are referring to freedom, not
  71. price.  Specifically, the General Public License is designed to make
  72. sure that you have the freedom to give away or sell copies of free
  73. software, that you receive source code or can get it if you want it,
  74. that you can change the software or use pieces of it in new free
  75. programs; and that you know you can do these things.
  76.  
  77.    To protect your rights, we need to make restrictions that forbid
  78. anyone to deny you these rights or to ask you to surrender the rights.
  79. These restrictions translate to certain responsibilities for you if you
  80. distribute copies of the software, or if you modify it.
  81.  
  82.    For example, if you distribute copies of a such a program, whether
  83. gratis or for a fee, you must give the recipients all the rights that
  84. you have.  You must make sure that they, too, receive or can get the
  85. source code.  And you must tell them their rights.
  86.  
  87.    We protect your rights with two steps: (1) copyright the software,
  88. and (2) offer you this license which gives you legal permission to copy,
  89. distribute and/or modify the software.
  90.  
  91.    Also, for each author's protection and ours, we want to make certain
  92. that everyone understands that there is no warranty for this free
  93. software.  If the software is modified by someone else and passed on, we
  94. want its recipients to know that what they have is not the original, so
  95. that any problems introduced by others will not reflect on the original
  96. authors' reputations.
  97.  
  98.    The precise terms and conditions for copying, distribution and
  99. modification follow.
  100.  
  101.                          TERMS AND CONDITIONS
  102.  
  103.   1. This License Agreement applies to any program or other work which
  104.      contains a notice placed by the copyright holder saying it may be
  105.      distributed under the terms of this General Public License.  The
  106.      "Program", below, refers to any such program or work, and a "work
  107.      based on the Program" means either the Program or any work
  108.      containing the Program or a portion of it, either verbatim or with
  109.      modifications.  Each licensee is addressed as "you".
  110.  
  111.   2. You may copy and distribute verbatim copies of the Program's source
  112.      code as you receive it, in any medium, provided that you
  113.      conspicuously and appropriately publish on each copy an
  114.      appropriate copyright notice and disclaimer of warranty; keep
  115.      intact all the notices that refer to this General Public License
  116.      and to the absence of any warranty; and give any other recipients
  117.      of the Program a copy of this General Public License along with
  118.      the Program.  You may charge a fee for the physical act of
  119.      transferring a copy.
  120.  
  121.   3. You may modify your copy or copies of the Program or any portion of
  122.      it, and copy and distribute such modifications under the terms of
  123.      Paragraph 1 above, provided that you also do the following:
  124.  
  125.         * cause the modified files to carry prominent notices stating
  126.           that you changed the files and the date of any change; and
  127.  
  128.         * cause the whole of any work that you distribute or publish,
  129.           that in whole or in part contains the Program or any part
  130.           thereof, either with or without modifications, to be licensed
  131.           at no charge to all third parties under the terms of this
  132.           General Public License (except that you may choose to grant
  133.           warranty protection to some or all third parties, at your
  134.           option).
  135.  
  136.         * If the modified program normally reads commands interactively
  137.           when run, you must cause it, when started running for such
  138.           interactive use in the simplest and most usual way, to print
  139.           or display an announcement including an appropriate copyright
  140.           notice and a notice that there is no warranty (or else,
  141.           saying that you provide a warranty) and that users may
  142.           redistribute the program under these conditions, and telling
  143.           the user how to view a copy of this General Public License.
  144.  
  145.         * You may charge a fee for the physical act of transferring a
  146.           copy, and you may at your option offer warranty protection in
  147.           exchange for a fee.
  148.  
  149.      Mere aggregation of another independent work with the Program (or
  150.      its derivative) on a volume of a storage or distribution medium
  151.      does not bring the other work under the scope of these terms.
  152.  
  153.   4. You may copy and distribute the Program (or a portion or
  154.      derivative of it, under Paragraph 2) in object code or executable
  155.      form under the terms of Paragraphs 1 and 2 above provided that you
  156.      also do one of the following:
  157.  
  158.         * accompany it with the complete corresponding machine-readable
  159.           source code, which must be distributed under the terms of
  160.           Paragraphs 1 and 2 above; or,
  161.  
  162.         * accompany it with a written offer, valid for at least three
  163.           years, to give any third party free (except for a nominal
  164.           charge for the cost of distribution) a complete
  165.           machine-readable copy of the corresponding source code, to be
  166.           distributed under the terms of Paragraphs 1 and 2 above; or,
  167.  
  168.         * accompany it with the information you received as to where the
  169.           corresponding source code may be obtained.  (This alternative
  170.           is allowed only for noncommercial distribution and only if you
  171.           received the program in object code or executable form alone.)
  172.  
  173.      Source code for a work means the preferred form of the work for
  174.      making modifications to it.  For an executable file, complete
  175.      source code means all the source code for all modules it contains;
  176.      but, as a special exception, it need not include source code for
  177.      modules which are standard libraries that accompany the operating
  178.      system on which the executable file runs, or for standard header
  179.      files or definitions files that accompany that operating system.
  180.  
  181.   5. You may not copy, modify, sublicense, distribute or transfer the
  182.      Program except as expressly provided under this General Public
  183.      License.  Any attempt otherwise to copy, modify, sublicense,
  184.      distribute or transfer the Program is void, and will automatically
  185.      terminate your rights to use the Program under this License.
  186.      However, parties who have received copies, or rights to use
  187.      copies, from you under this General Public License will not have
  188.      their licenses terminated so long as such parties remain in full
  189.      compliance.
  190.  
  191.   6. By copying, distributing or modifying the Program (or any work
  192.      based on the Program) you indicate your acceptance of this license
  193.      to do so, and all its terms and conditions.
  194.  
  195.   7. Each time you redistribute the Program (or any work based on the
  196.      Program), the recipient automatically receives a license from the
  197.      original licensor to copy, distribute or modify the Program
  198.      subject to these terms and conditions.  You may not impose any
  199.      further restrictions on the recipients' exercise of the rights
  200.      granted herein.
  201.  
  202.   8. The Free Software Foundation may publish revised and/or new
  203.      versions of the General Public License from time to time.  Such
  204.      new versions will be similar in spirit to the present version, but
  205.      may differ in detail to address new problems or concerns.
  206.  
  207.      Each version is given a distinguishing version number.  If the
  208.      Program specifies a version number of the license which applies to
  209.      it and "any later version", you have the option of following the
  210.      terms and conditions either of that version or of any later
  211.      version published by the Free Software Foundation.  If the Program
  212.      does not specify a version number of the license, you may choose
  213.      any version ever published by the Free Software Foundation.
  214.  
  215.   9. If you wish to incorporate parts of the Program into other free
  216.      programs whose distribution conditions are different, write to the
  217.      author to ask for permission.  For software which is copyrighted
  218.      by the Free Software Foundation, write to the Free Software
  219.      Foundation; we sometimes make exceptions for this.  Our decision
  220.      will be guided by the two goals of preserving the free status of
  221.      all derivatives of our free software and of promoting the sharing
  222.      and reuse of software generally.
  223.  
  224.                                 NO WARRANTY
  225.  
  226.  10. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO
  227.      WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE
  228.      LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
  229.      HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
  230.      WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT
  231.      NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
  232.      FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS TO THE
  233.      QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
  234.      PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY
  235.      SERVICING, REPAIR OR CORRECTION.
  236.  
  237.  11. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
  238.      WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY
  239.      MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
  240.      LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL,
  241.      INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
  242.      INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
  243.      DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU
  244.      OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY
  245.      OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN
  246.      ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
  247.  
  248.                       END OF TERMS AND CONDITIONS
  249.  
  250. Appendix: How to Apply These Terms to Your New Programs
  251. =======================================================
  252.  
  253.    If you develop a new program, and you want it to be of the greatest
  254. possible use to humanity, the best way to achieve this is to make it
  255. free software which everyone can redistribute and change under these
  256. terms.
  257.  
  258.    To do so, attach the following notices to the program.  It is safest
  259. to attach them to the start of each source file to most effectively
  260. convey the exclusion of warranty; and each file should have at least the
  261. "copyright" line and a pointer to where the full notice is found.
  262.  
  263.      ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
  264.      Copyright (C) 19YY  NAME OF AUTHOR
  265.      
  266.      This program is free software; you can redistribute it and/or modify
  267.      it under the terms of the GNU General Public License as published by
  268.      the Free Software Foundation; either version 1, or (at your option)
  269.      any later version.
  270.      
  271.      This program is distributed in the hope that it will be useful,
  272.      but WITHOUT ANY WARRANTY; without even the implied warranty of
  273.      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  274.      GNU General Public License for more details.
  275.      
  276.      You should have received a copy of the GNU General Public License
  277.      along with this program; if not, write to the Free Software
  278.      Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  279.  
  280.    Also add information on how to contact you by electronic and paper
  281. mail.
  282.  
  283.    If the program is interactive, make it output a short notice like
  284. this when it starts in an interactive mode:
  285.  
  286.      Gnomovision version 69, Copyright (C) 19YY NAME OF AUTHOR
  287.      Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
  288.      This is free software, and you are welcome to redistribute it
  289.      under certain conditions; type `show c' for details.
  290.  
  291.    The hypothetical commands `show w' and `show c' should show the
  292. appropriate parts of the General Public License.  Of course, the
  293. commands you use may be called something other than `show w' and `show
  294. c'; they could even be mouse-clicks or menu items--whatever suits your
  295. program.
  296.  
  297.    You should also get your employer (if you work as a programmer) or
  298. your school, if any, to sign a "copyright disclaimer" for the program,
  299. if necessary.  Here a sample; alter the names:
  300.  
  301.      Yoyodyne, Inc., hereby disclaims all copyright interest in the
  302.      program `Gnomovision' (a program to direct compilers to make passes
  303.      at assemblers) written by James Hacker.
  304.      
  305.      SIGNATURE OF TY COON, 1 April 1989
  306.      Ty Coon, President of Vice
  307.  
  308.    That's all there is to it!
  309.  
  310. 
  311. File: vm.info,  Node: Introduction,  Next: Starting Up,  Prev: License,  Up: Top
  312.  
  313. Introduction
  314. ************
  315.  
  316.    VM (View Mail) is an Emacs subsystem that allows UNIX mail to be read
  317. and disposed of within Emacs.  Commands exist to do the normal things
  318. expected of a mail user agent, such as generating replies, saving
  319. messages to folders, deleting messages and so on.  There are other more
  320. advanced commands that do tasks like bursting and creating digests,
  321. message forwarding, and organizing message presentation according to
  322. various criteria.
  323.  
  324.    To invoke VM simply type `M-x vm'.  VM gathers any mail that has
  325. arrived in your system mailbox and appends it to a file known as your
  326. "primary inbox", and visits that file for reading.  *Note Starting Up::.
  327. A file visited for reading by VM is called the "current folder".
  328.  
  329.    If there are any messages in the primary inbox, VM selects the first
  330. new or unread message, and previews it.  "Previewing" is VM's way of
  331. showing you part of message and allowing you to decide whether you want
  332. to read it.  *Note Previewing::.  By default VM shows you the message's
  333. sender, recipient, subject and date headers.  Typing SPC
  334. (`vm-scroll-forward') exposes the body of the message and flags the
  335. message as read.  Subsequent SPC's scroll forward through the message,
  336. `b' or DEL scrolls backward.  When you reach the end of a message,
  337. typing SPC or `n' moves you forward to preview the next message.  *Note
  338. Paging::.
  339.  
  340.    If you do not want to read a message that's being previewed, just
  341. type `n' and VM will move on to the next message (if there is one).
  342. *Note Selecting Messages::.
  343.  
  344.    To save a message to a mail folder use `s' (`vm-save-message').  VM
  345. will prompt you for the folder name in the minibuffer.  *Note Saving
  346. Messages::.
  347.  
  348.    Messages are deleted by typing `d' (`vm-delete-message') while
  349. previewing or reading them.  The message is not deleted right away; it
  350. is simply flagged for deletion.  If you change your mind about deleting
  351. a message just select it and type `u' (`vm-undelete-message'), and the
  352. message will be undeleted.  *Note Deleting Messages::.  The actual
  353. removal of deleted messages from the current folder is called
  354. "expunging" and it is accomplished by typing `#' (`vm-expunge-folder').
  355. The message is still present in the on-disk version of the folder
  356. until the folder is saved.
  357.  
  358.    Typing `h' (`vm-summarize') causes VM to pop up a window containing
  359. a summary of contents of the current folder.  The summary is presented
  360. one line per message, by message number, listing each message's author,
  361. date sent, line and byte count, and subject.  Also various letters
  362. appear beside the message number to indicate that a message is new,
  363. unread, flagged for deletion, etc.  An arrow `->' appears to the left
  364. of the line summarizing the current message.  The summary format is
  365. user configurable, *note Summaries::..
  366.  
  367.    When you are finished reading mail the current folder must be saved,
  368. so that the next time the folder is visited VM will know which messages
  369. have been already read, replied to and so on.  Typing `S'
  370. (`vm-save-folder') expunges all deleted messages and saves the folder.
  371. `C-x C-s' saves the folder without expunging deleted messages but the
  372. messages are still flagged deleted.  The next time the folder is
  373. visited these messages will still be flagged for deletion.
  374.  
  375.    To quit VM you can type `q' (`vm-quit') or `x'
  376. (`vm-quit-no-change').  Typing `q' expunges and saves the current
  377. folder before quitting.  Also, any messages flagged new are changed to
  378. be flagged unread, before saving.  The `x' command quits VM without
  379. expunging, saving or otherwise modifying the current folder.  Quitting
  380. is not required; you can simply switch to another Emacs buffer when
  381. you've finished reading mail.
  382.  
  383.    At any time while reading mail in the primary inbox you can type `g'
  384. (`vm-get-new-mail') to check to see if new mail has arrived.  If new
  385. mail has arrived it will be moved from the system spool area and merged
  386. into the primary inbox.  If you are not in the middle of another
  387. message, VM will also jump to the first new message.
  388.  
  389.    If `vm-get-new-mail' is given a prefix argument, it will prompt for
  390. another file from which to gather messages instead of the usual spool
  391. files.  In this case the source folder is copied but not deleted.
  392.  
  393. 
  394. File: vm.info,  Node: Starting Up,  Next: Selecting Messages,  Prev: Introduction,  Up: Top
  395.  
  396. Starting Up
  397. ***********
  398.  
  399.    There are three ways to start VM: `M-x vm', `M-x vm-visit-folder'
  400. and `vm-mode'.  The first time VM is started in an Emacs session (by
  401. any of these methods), it attempts to load the file `~/.vm'.  If
  402. present this file should contain Lisp code, much like the `.emacs'
  403. file.  Since VM has in excess of forty configuration variables, use of
  404. the `~/.vm' can considerably reduce clutter in the `.emacs' file.  You
  405. can force the reloading of this file on demand by typing `L' from
  406. within VM.
  407.  
  408.    `M-x vm' causes VM to gather any mail present in your system mailbox
  409. and append it to a file known as your "primary inbox", creating this
  410. file if necessary.  The default name of this file is `~/INBOX', but VM
  411. will use whatever file is named by the variable `vm-primary-inbox'.
  412.  
  413.    VM transfers the mail from the system mailbox to the primary inbox
  414. via a temporary file known as the "crash box".  The variable
  415. `vm-crash-box' names the crash box file.  VM first copies the mail to
  416. the crash box, deletes the system mailbox, merges the crash box
  417. contents into the primary inbox, and then deletes the crash box.  If the
  418. system or Emacs should crash in the midst of this transfer, any message
  419. not present in the primary inbox will be either in the system mailbox or
  420. the crash box.  Some messages may be duplicated but no mail will be
  421. lost.
  422.  
  423.    If the file named by `vm-crash-box' already exists when VM is
  424. started up, VM will merge that with the primary inbox before getting any
  425. new messages from the system mailbox.
  426.  
  427.    By default, the location of the system mailbox is determined
  428. heuristically based on what type of system you're using.  VM can be
  429. told explicitly where the system mailbox is through the variable
  430. `vm-spool-files'.  The value of this variable should be a list of
  431. strings naming files VM should try when searching for newly arrived
  432. mail.  Multiple mailboxes can be specified if you receive mail in more
  433. than one place.  The value of `vm-spool-files' will be inherited from
  434. the shell environmental variables MAILPATH or MAIL if either of these
  435. variables are defined.
  436.  
  437.    `M-x vm-visit-folder' (`v' from within VM) allows you to visit some
  438. other mail folder than the primary inbox.  The folder name will be
  439. prompted for in the minibuffer.
  440.  
  441.    Once VM has read the folder, the first new or unread message will be
  442. selected.  If there is no such message, the first message in the folder
  443. is selected.
  444.  
  445.    `M-x vm-mode' can be used on a buffer already loaded into Emacs to
  446. put it into the VM major mode so that VM commands can be executed from
  447. within it.  This command is suitable for use in Lisp programs, and for
  448. inclusion in `auto-mode-alist' to automatically start VM on a file
  449. based on a particular filename suffix.  `vm-mode' foregoes some of VM's
  450. startup procedures (e.g. starting up a summary) to facilitate
  451. noninteractive use.
  452.  
  453.    The variable `vm-startup-with-summary' controls whether VM
  454. automatically displays a summary of the folder's contents at startup.  A
  455. value of `nil' gives no summary; a value of `t' gives a full screen
  456. summary.  A value that is neither `t' nor `nil' splits the screen
  457. between the summary and the folder display.  The latter only works if
  458. the variable `pop-up-windows''s value is non-`nil', and the value of
  459. `vm-mutable-windows' is non-`nil'.  The default value of
  460. `vm-startup-with-summary' is `nil'.
  461.  
  462.    The variable `vm-mail-window-percentage' tells VM what percentage of
  463. the screen should be given to the folder display when both it and the
  464. folder summary are being displayed.  Note that Emacs enforces a minimum
  465. window size limit, so a very high or very low value for this variable
  466. may squeeze out one of the displays entirely.  This variable's default
  467. value is 75, which works with Emacs' default minimum window size limit,
  468. on a 24 line terminal.  Note that the value of `vm-mutable-windows'
  469. must be `t' or VM will not do window resizing regardless of the value
  470. of `vm-mail-window-percentage'.
  471.  
  472.    A non-`nil' value for the variable `vm-inhibit-startup-message'
  473. disables the display of the VM's copyright, copying and warranty
  474. disclaimer.  If you must, set this variable in your own `.emacs' file;
  475. don't set it globally for everyone.  Users should be told their rights.
  476. The startup messages abort at the first keystroke after startup, so
  477. they do not impede mail reading.
  478.  
  479. 
  480. File: vm.info,  Node: Selecting Messages,  Next: Reading Messages,  Prev: Starting Up,  Up: Top
  481.  
  482. Selecting Messages
  483. ******************
  484.  
  485.    The primary commands for selecting messages in VM are `n'
  486. (`vm-next-message') and `p' (`vm-previous-message').  These commands
  487. move forward and backward through the current folder.  When they go
  488. beyond the end or beginning of the folder they wrap to the beginning
  489. and end respectively.  By default these commands skip messages flagged
  490. for deletion.  This behavior can be disabled by setting the value of
  491. the variable `vm-skip-deleted-messages' to `nil'.  These commands can
  492. also be made to skip messages that have been read; set
  493. `vm-skip-read-messages' to `t' to do this.
  494.  
  495.    The commands `n' and `p' also take prefix arguments that specify the
  496. number of messages to move forward or backward.  If the magnitude of
  497. the prefix argument is greater than 1, no message skipping will be done
  498. regardless of the settings of the previously mentioned skip control
  499. variables.
  500.  
  501.    The variable `vm-circular-folders' determines whether VM folders
  502. will be considered circular by various commands.  "Circular" means VM
  503. will wrap from the end of the folder to the start and vice versa when
  504. moving the message pointer, deleting, undeleting or saving messages
  505. before or after the current message.
  506.  
  507.    A value of `t' causes all VM commands to consider folders circular.
  508. A value of `nil' causes all of VM commands to signal an error if the
  509. start or end of the folder would have to be passed to complete the
  510. command.  For movement commands, this occurs after the message pointer
  511. has been moved as far it can go.  For other commands the error occurs
  512. before any part of the command has been executed, i.e. no deletions,
  513. saves, etc. will be done unless they can be done in their entirety.  A
  514. value other than `nil' or `t' causes only VM's movement commands to
  515. consider folders circular.  Saves, deletes and undeletes will behave as
  516. if the value is `nil'.  The default value of `vm-circular-folders' is
  517. `0'.
  518.  
  519.    Other commands to select messages:
  520.  
  521. RET (`vm-goto-message')
  522.      Go to message number N.  N is the prefix argument, if provided,
  523.      otherwise it is prompted for in the minibuffer.
  524.  
  525. TAB (`vm-goto-message-last-seen')
  526.      Go to message last previewed or read.
  527.  
  528. N (`vm-Next-message')
  529. P (`vm-Previous-message')
  530.      Go to the next (previous) message, ignoring the settings of the
  531.      skip control variables.
  532.  
  533. M-n (`vm-next-unread-message')
  534. M-p (`vm-previous-unread-message')
  535.      Move forward (backward) to the nearest new or unread message.  If
  536.      no such message exists then these commands work like `n' and `p'.
  537.  
  538. M-s (`vm-isearch-forward')
  539. M-x vm-isearch-backward
  540.      These work just like Emacs' normal forward and backward incremental
  541.      search commands, except that when the search ends, VM selects the
  542.      message containing point.  If the value of the variable
  543.      `vm-search-using-regexps' is non-`nil', a regular expression may
  544.      be used instead of a fixed string for the search pattern; VM
  545.      defaults to the fixed string search.  If a prefix argument is
  546.      given, the value of `vm-search-using-regexps' is temporarily
  547.      toggled for the search.  *Note Incremental Search:
  548.      (emacs)Incremental Search.
  549.  
  550. 
  551. File: vm.info,  Node: Reading Messages,  Next: Sending Messages,  Prev: Selecting Messages,  Up: Top
  552.  
  553. Reading Messages
  554. ****************
  555.  
  556.    Once a message has been selected, VM will present it to you.  By
  557. default presentation is done in two stages: "previewing" and "paging".
  558.  
  559. * Menu:
  560.  
  561. * Previewing::    Customizing message previews.
  562. * Paging::    Scrolling and paging through the current message.
  563.  
  564. 
  565. File: vm.info,  Node: Previewing,  Next: Paging,  Prev: Reading Messages,  Up: Reading Messages
  566.  
  567. Previewing
  568. ==========
  569.  
  570.    "Previewing" is VM's way of showing you a small portion of a message
  571. and allowing you to decide whether you want to read it.  Typing SPC
  572. exposes the body of the message, and from there you can repeatedly type
  573. SPC to page through the message.
  574.  
  575.    By default the sender, recipient, subject and date headers are shown
  576. when previewing; the rest of the message is hidden.  This behavior may
  577. be altered by changing the settings of two variables:
  578. `vm-visible-headers', `vm-invisible-header-regexp' and
  579. `vm-preview-lines'.
  580.  
  581.    The value of `vm-preview-lines' should be a number that tells VM how
  582. many lines of the text of the message should be visible.  The default
  583. value of this variable is 0.  If `vm-preview-lines' is `nil', then
  584. previewing is not done at all; when a message is first presented it is
  585. immediately exposed in its entirety and is flagged as read.
  586.  
  587.    The value of `vm-visible-headers' should be a list of regular
  588. expressions matching the beginnings of headers that should be made
  589. visible when a message is presented.  The regexps should be listed in
  590. the preferred presentation order of the headers they match.
  591.  
  592.    If non-`nil', the variable `vm-invisible-header-regexp' specifies
  593. what headers should *not* be displayed.  Its value should be a string
  594. containing a regular expression that matches all headers you do not
  595. want to see.  Setting this variable non-`nil' implies that you want to
  596. see all headers not matched by it; therefore the value of
  597. `vm-visible-headers' is only used to determine the order of the visible
  598. headers in this case.  Headers not matched by
  599. `vm-invisible-header-regexp' or `vm-visible-headers' are displayed last.
  600.  
  601.    If you change the value of either `vm-visible-headers' or
  602. `vm-invisible-header-regexp' in the middle of a VM session the effects
  603. will not be immediate.  You will need to use the command
  604. `vm-discard-cached-data' on each message (bound to `j' by default) to
  605. force VM rearrange the message headers.  A good way to do this is to
  606. mark all the messages in the folder and apply `vm-discard-cached-data'
  607. to the marked messages.  *Note Message Marks::.
  608.  
  609.    Another variable of interest is `vm-highlighted-header-regexp'.  The
  610. value of this variable should be a single regular expression that
  611. matches the beginnings of any header that should be presented in inverse
  612. video when previewing.  For example, a value of `"^From\\|^Subject"'
  613. causes the From and Subject headers to be highlighted.
  614.  
  615.    By default VM previews all messages, even if they have already been
  616. read.  To have VM preview only those messages that have not been read,
  617. set the value of `vm-preview-read-messages' to `nil'.
  618.  
  619.    Typing `t' (`vm-expose-hidden-headers') makes VM toggle between
  620. exposing and hiding headers that would ordinarily be hidden.
  621.  
  622. 
  623. File: vm.info,  Node: Paging,  Prev: Previewing,  Up: Reading Messages
  624.  
  625. Paging
  626. ======
  627.  
  628.    Typing SPC during a message preview exposes the body of the message.
  629. If the message was new or previously unread, it will be flagged
  630. "read".  At this point you can use SPC to scroll forward, and `b' or
  631. DEL to scroll backward a windowful of text at a time.  Typing space at
  632. the end of a message moves you to the next message.  If the value of
  633. `vm-auto-next-message' is `nil', SPC will not move to the next message;
  634. you must type `n' explicitly.
  635.  
  636.    If the value of `vm-honor-page-delimiters' is non-`nil', VM will
  637. recognize and honor page delimiters.  This means that when you scroll
  638. through a document, VM will display text only up to the next page
  639. delimiter.  Text after the delimiter will be hidden until you type
  640. another SPC, at which point the text preceding the delimiter will
  641. become hidden.  The Emacs variable `page-delimiter' determines what VM
  642. will consider to be a page delimiter.
  643.  
  644.    You can "unread" a message (so to speak) by typing `U'
  645. (`vm-unread-message').  The current message will be flagged unread.
  646.  
  647. 
  648. File: vm.info,  Node: Sending Messages,  Next: Saving Messages,  Prev: Reading Messages,  Up: Top
  649.  
  650. Sending Messages
  651. ****************
  652.  
  653.    When sending messages from within VM, you will be using the standard
  654. Mail major mode provided with GNU Emacs.  *Note Mail Mode: (emacs)Mail
  655. Mode.  However, `*mail*' buffers created by VM have extra command keys:
  656.  
  657. C-c C-y (`vm-yank-message')
  658.      Copies a message from the current folder into the `*mail*' buffer.
  659.      The message number is read from the minibuffer.  By default each
  660.      line of the copy is prepended with the value of the variable
  661.      `vm-included-text-prefix'.  All message headers are yanked along
  662.      with the text.  Point is left before the inserted text, the mark
  663.      after.  Any hook functions bound to mail-yank-hooks are run, after
  664.      inserting the text and setting point and mark.  If a prefix
  665.      argument is given, this tells VM to ignore mail-yank-hooks, don't
  666.      set the mark, don't prepend the value of vm-included-text-prefix
  667.      to every yanked line, and don't yank any headers other than those
  668.      specified in vm-visible-headers/vm-invisible-headers.
  669.  
  670. C-c y (`vm-yank-message-other-folder')
  671.      Work like `vm-yank-message', but it first prompts for the name of a
  672.      folder from which to yank the message.
  673.  
  674. C-c C-v <Any VM command key>
  675.      All VM commands may be accessed in the `*mail*' buffer by
  676.      prefixing them with C-c C-v.
  677.  
  678.    The simplest command is `m' (`vm-mail') which sends a mail message
  679. much as `M-x mail' does but allows the added commands described above.
  680.  
  681.    `vm-mail' can be invoked outside of VM by typing `M-x vm-mail'.
  682. However, of the above commands, only C-c y
  683. (`vm-yank-message-other-folder') will work; all the other commands
  684. require a parent folder.
  685.  
  686.    If you send a message and it is returned by the mail system because
  687. it was undeliverable, you an easily resend the message by typing `M-r'
  688. (`vm-resend-bounced-message').  VM will extract the old message and its
  689. pertinent headers from the returned message, and place you in a
  690. `*mail*' buffer.  You can then change the recipient addresses or do
  691. whatever is necessary to correct the original problem and resend the
  692. message.
  693.  
  694. * Menu:
  695.  
  696. * Replying::        Describes the various ways to reply to a message.
  697. * Forwarding Messages::    How to forward a message to a third party.
  698.  
  699. 
  700. File: vm.info,  Node: Replying,  Next: Forwarding Messages,  Prev: Sending Messages,  Up: Sending Messages
  701.  
  702. Replying
  703. ========
  704.  
  705.    VM has special commands that make it easy to reply to a message.
  706. When a reply command is invoked VM fills in the subject and recipient
  707. headers for you, since it is apparent to whom the message should be
  708. sent and what the subject should be.  There is an old convention of
  709. prepending the string `"Re: "' to the subject of replies if the string
  710. isn't present already.  VM supports this indirectly by providing the
  711. variable `vm-reply-subject-prefix'.  Its value should be a string to
  712. prepend to the subject of replies, if the said string isn't present
  713. already.  A `nil' value means don't prepend anything to the subject
  714. (this is the default).  In any case you can edit any of the message
  715. headers manually, if you wish.
  716.  
  717.    VM also helps you quote material from a message to which you are
  718. replying by providing "included text" as a feature of some of the
  719. commands.  "Included text" is a copy of the message being replied to
  720. with some fixed string prepended to each line so that included text can
  721. be distinguished from the text of the reply.  The variable
  722. `vm-included-text-prefix' specifies what the prepended string will be.
  723.  
  724.    The variable `vm-included-text-attribution-format' specifies the
  725. format for the attribution of included text.  This attribution is a line
  726. of text that tells who wrote the text that is to be included; it will be
  727. inserted before the included text.  If non-`nil', the value of
  728. `vm-included-text-attribution-format' should be a string format
  729. specification similar to `vm-summary-format'.  *Note Summaries::.  A
  730. `nil' value causes the attribution to be omitted.
  731.  
  732.    The variable `vm-in-reply-to-format' specifies the format of the
  733. In-Reply-To header that is inserted into header section of the reply
  734. buffer.  Like `vm-included-text-attribution-format',
  735. `vm-in-reply-to-format' should be a string similar to that of
  736. `vm-summary-format'.  A `nil' value causes the In-Reply-To header to be
  737. omitted.
  738.  
  739.    The recipient headers generated for reply messages are created by
  740. simply copying the appropriate headers for the message to which you are
  741. replying.  This includes any full name information, comments, etc. in
  742. these headers.  If the variable `vm-strip-reply-headers' is non-`nil',
  743. the reply headers will stripped of all information but the actual
  744. addresses.
  745.  
  746.    The reply commands are:
  747.  
  748. r (`vm-reply')
  749.      Replies to the author of the current message.
  750.  
  751. R (`vm-reply-include-text')
  752.      Replies to the author of the current message and provides included
  753.      text.
  754.  
  755. f (`vm-followup')
  756.      Replies to the all recipients of the current message.
  757.  
  758. F (`vm-followup-include-text')
  759.      Replies to the all recipients of the current message and provides
  760.      included text.
  761.  
  762.    These commands all accept a numeric prefix argument N, which if
  763. present, causes VM to reply to the next (or previous if the argument is
  764. negative) N-1 message as well as the current message.  Also all the
  765. reply commands set the "replied" attribute of the messages to which you
  766. are responding, but only when the reply is actually sent.  The reply
  767. commands can also be applied to marked messages, *note Message Marks::..
  768.  
  769.    If you are one of multiple recipients of a message and you use `f'
  770. and `F', your address will be included in the recipients of the reply.
  771. You can avoid this by judicious use of the variable
  772. `vm-reply-ignored-addresses'.  Its value should be a list of regular
  773. expressions that match addresses that VM should automatically remove
  774. from the recipient headers of replies.
  775.  
  776. 
  777. File: vm.info,  Node: Forwarding Messages,  Prev: Replying,  Up: Sending Messages
  778.  
  779. Forwarding Messages
  780. ===================
  781.  
  782.    VM has two commands to forward messages: `z' (`vm-forward-message')
  783. and @ (`vm-send-digest').
  784.  
  785.    Typing `z' puts you into a `*mail*' buffer just like `m', except the
  786. current message appears as the body of the message in the `*mail*'
  787. buffer. The forwarded message is surrounded by RFC 934 compliant
  788. message delimiters.  If the variable `vm-rfc934-forwarding' is
  789. non-`nil' "^-" to "- -" character stuffing is done to the forwarded
  790. message (this is the default).  This behavior is required if the
  791. recipient of the forwarded message wants to use a RFC 934 standard
  792. bursting agent to access the message.  If the variable
  793. `vm-forwarding-subject-format' is non-`nil' it should specify the
  794. format of the Subject header of the forwarded message.  This subject
  795. will be used as the contents of the Subject header automatically
  796. inserted into the `*mail*' buffer.  A `nil' value causes the Subject
  797. header to be left blank.  The forwarded message is flagged "forwarded".
  798. The command @ (`vm-send-digest') works like `z' except that a digest of
  799. all the messages in the current folder is made and inserted into the
  800. `*mail*' buffer.  Also, `vm-send-digest' can be applied to marked
  801. messages.  *Note Message Marks::.  When applied to marked messages,
  802. `vm-send-digest' will only bundle marked messages, as opposed to the
  803. usual bundling of all messages in the current folder.  If you give
  804. `vm-send-digest' a prefix argument, VM will insert a list of preamble
  805. lines at the beginning of the digest, one line per digestified message.
  806. The variable `vm-digest-preamble-format' determines the format of the
  807. preamble lines.  If the value of `vm-digest-center-preamble' is
  808. non-`nil', the preamble lines will be centered.
  809.  
  810. 
  811. File: vm.info,  Node: Saving Messages,  Next: Deleting Messages,  Prev: Sending Messages,  Up: Top
  812.  
  813. Saving Messages
  814. ***************
  815.  
  816.    Mail messages are normally saved to files that contain only mail
  817. messages.  Such files are called "folders".
  818.  
  819.    The VM command to save a message to a folder is `s'
  820. (`vm-save-message'); invoking this command causes the current message
  821. to be saved to a folder whose name you specify in the minibuffer.  If
  822. `vm-save-message' is given a prefix argument N, the current message
  823. plus the next N-1 message are saved.  If N is negative, the current
  824. message and the previous N-1 messages are saved.  Messages saved with
  825. `vm-save-message' are flagged "filed".
  826.  
  827.    If the value of the variable `vm-confirm-new-folders' is non-`nil',
  828. VM will ask for confirmation before creating a new folder on
  829. interactive saves.
  830.  
  831.    If you have a directory where you keep all your mail folders, you
  832. should set the variable `vm-folder-directory' to point to it.  If this
  833. variable is set, `vm-save-message' will insert this directory name into
  834. the minibuffer before prompting you for a folder name; this will save
  835. you some typing.
  836.  
  837.    Another aid to selecting folders in which to save mail is the
  838. variable `vm-auto-folder-alist'.  The value of this variable should be a
  839. list of the form,
  840.  
  841.      ((HEADER-NAME
  842.         (REGEXP . FOLDER-NAME) ...)
  843.        ...)
  844.  
  845.    where HEADER-NAME and REGEXP are strings, and FOLDER-NAME is a
  846. string or an s-expression that evaluates to a string.
  847.  
  848.    If any part of the contents of the message header named by
  849. HEADER-NAME is matched by the regular expression REGEXP, VM will
  850. evaluate the corresponding FOLDER-NAME and use the result as the
  851. default when prompting for a folder to save the message in.  If the
  852. resulting folder name is a relative pathname it resolves to the
  853. directory named by `vm-folder-directory', or the `default-directory' of
  854. the currently visited folder if `vm-folder-directory' is nil.
  855.  
  856.    When FOLDER-NAME is evaluated, the current buffer will contain only
  857. the contents of the header named by HEADER-NAME.  It is safe to modify
  858. this buffer.  You can use the match data from any `\( ...  \)' grouping
  859. constructs in REGEXP along with the function buffer-substring to build
  860. a folder name based on the header information.  If the result of
  861. evaluating FOLDER-NAME is a list, then the list will be treated as
  862. another auto-folder-alist and will be descended recursively.
  863.  
  864.    Whether matching is case sensitive depends on the value of the
  865. variable `vm-auto-folder-case-fold-search'.  A non-`nil' value makes
  866. matching case insensitive.  The default value is `t', which means
  867. matching is case sensitive.  Note that the matching of header names is
  868. always case insensitive because RFC 822 specifies that header names are
  869. case indistinct.
  870.  
  871.    VM can save messages to a folder in two distinct ways.  The message
  872. can be appended directly to the folder on disk, or the folder can be
  873. visited as Emacs would visit any other file and the message be appended
  874. to that buffer.  In the latter method you must save the buffer yourself
  875. to change the on-disk copy of the folder.  The variable
  876. `vm-visit-when-saving' controls which method is used.  A value of `t'
  877. causes VM to always visit a folder before saving message to it.  A
  878. `nil' value causes VM to always append directly to the folder file.  In
  879. this case VM will not save messages to the disk copy of a folder that
  880. is being visited.  This restriction is necessary to insure that the
  881. buffer and on-disk copies of the folder are consistent. If the value of
  882. VM-VISIT-WHEN-SAVING is not `nil' and not `t' (e.g. 0, the default), VM
  883. will append to the folder's buffer if the buffer is currently being
  884. visited, otherwise VM will append to the file itself.
  885.  
  886.    After a message is saved to a folder, the usual thing to do next is
  887. to delete it.  If the variable `vm-delete-after-saving' is non-`nil' VM
  888. will flag messages for deletion automatically after saving them.  This
  889. applies only to saves to folders, not for the w command (see below).
  890.  
  891.    Other commands:
  892.  
  893. w (`vm-save-message-sans-headers')
  894.      Saves a message or messages to a file without their headers.  This
  895.      command responds to a prefix argument exactly as `vm-save-message'
  896.      does.  Messages saved this way are flagged "written".
  897.  
  898. A (`vm-auto-archive-messages')
  899.      Save all unfiled messages that auto-match a folder via
  900.      `vm-auto-folder-alist' to their appropriate folders.  Messages that
  901.      are flagged for deletion are not saved by this command.  If
  902.      invoked with a prefix argument, confirmation will be requested for
  903.      each save.
  904.  
  905. | (`vm-pipe-message-to-command')
  906.      Runs a shell command with the some or all of the current message
  907.      as input.  By default the entire message is used.
  908.      If invoked with one C-u the text portion of the message is used.
  909.      If invoked with two C-u's the header portion of the message is
  910.      used.
  911.      If the shell command generates any output, it is displayed in a
  912.      `*Shell Command Output*' buffer.  The message itself is not
  913.      altered.
  914.  
  915. 
  916. File: vm.info,  Node: Deleting Messages,  Next: Editing Messages,  Prev: Saving Messages,  Up: Top
  917.  
  918. Deleting Messages
  919. *****************
  920.  
  921.    In VM, messages are flagged for deletion, and then are subsequently
  922. "expunged" or removed from the folder.  The messages are not removed
  923. from the on-disk copy of the folder until the folder is saved.
  924.  
  925. d (`vm-delete-message')
  926.      Flags the current message for deletion.  A prefix argument N
  927.      causes the current message and the next N-1 messages to be flagged.
  928.      A negative N causes the current message and the previous N-1
  929.      messages to be flagged.
  930.  
  931. u (`vm-undelete-message')
  932.      Removes the deletion flag from the current message.  A prefix
  933.      argument N causes the current message and the next N-1 messages to
  934.      be undeleted.  A negative N causes the current message and the
  935.      previous N-1 messages to be undeleted.
  936.  
  937. k (`vm-kill-subject')
  938.      Flags all message with the same subject as the current message
  939.      (ignoring "Re:") for deletion.
  940.  
  941. # (`vm-expunge-folder')
  942.      Does the actual removal of messages flagged for deletion in the
  943.      current folder.
  944.  
  945.    Setting the variable `vm-move-after-deleting' non-`nil' causes VM to
  946. move past the messages after flagging them for deletion.  Setting
  947. `vm-move-after-undeleting' non-`nil' causes similar movement after
  948. undeletes.
  949.  
  950. 
  951. File: vm.info,  Node: Editing Messages,  Next: Message Marks,  Prev: Deleting Messages,  Up: Top
  952.  
  953. Editing Messages
  954. ****************
  955.  
  956.    To edit a message, type `e' (`vm-edit-message').  The current
  957. message is copied into a temporary buffer, and this buffer is selected
  958. for editing.  The major mode of this buffer is controlled by the
  959. variable `vm-edit-message-mode'.  The default is Text mode.
  960.  
  961.    Use `C-c ESC' (`vm-edit-message-end') when you have finished editing
  962. the message.  The message will be inserted into its folder, replacing
  963. the old version of the message.  If you want to quit the edit without
  964. your edited version replacing the original, use `C-c C-]'
  965. (`vm-edit-message-abort'), or you can just kill the edit buffer with
  966. `C-x k' (`kill-buffer').
  967.  
  968.    If you give a prefix argument to `vm-edit-message', then the current
  969. message will be flagged unedited.
  970.  
  971.    As with VM `*mail*' buffers, all VM commands can be accessed from
  972. the edit buffer through the command prefix `C-c C-v'.
  973.  
  974. 
  975. File: vm.info,  Node: Message Marks,  Next: Undoing,  Prev: Editing Messages,  Up: Top
  976.  
  977. Message Marks
  978. *************
  979.  
  980.    VM provides general purpose "marks" that may be applied to any and
  981. all messages within a given folder.  Certain VM commands can be
  982. subsequently invoked only on those message that are marked.
  983.  
  984.    To mark the current message, type `C-c C-@' (`vm-mark-message').  If
  985. you give a numeric prefix argument N, the next N-1 messages will be
  986. marked as well.  A negative prefix argument means mark the previous
  987. N-1.  An asterisk (`*') will appear to the right of the message numbers
  988. of all marked messages in the summary window.
  989.  
  990.    To remove a mark from the current message, use `C-c SPC'
  991. (`vm-unmark-message'.  Prefix arguments work as with `vm-mark-message'.
  992.  
  993.    Use `C-c C-a' to mark all message in the current folder; `C-c a'
  994. removes marks from all messages.
  995.  
  996.    To apply a VM command to all marked message you must prefix it with
  997. the key sequence `C-c RET' (`vm-next-command-uses-marks').  The next VM
  998. command will apply to all marked messages, provided the command can be
  999. applied to such messages in a meaningful and useful way.  The current
  1000. commands that can be applied to marked message are:
  1001. `vm-delete-message', `vm-discard-cached-data', `vm-followup',
  1002. `vm-followup-include-text', `vm-reply', `vm-reply-include-text',
  1003. `vm-save-message', `vm-save-message-sans-headers', `vm-send-digest',
  1004. `vm-undelete-message', and `vm-unread-message'.
  1005.  
  1006. 
  1007. File: vm.info,  Node: Undoing,  Next: Grouping Messages,  Prev: Message Marks,  Up: Top
  1008.  
  1009. Undoing
  1010. *******
  1011.  
  1012.    VM provides a special form of undo which allows changes to message
  1013. attributes to be undone.
  1014.  
  1015.    Typing `C-x u' or C-_ (`vm-undo') undoes the last attribute change.
  1016. Consecutive `vm-undo''s undo further and further back.  Any intervening
  1017. command breaks the undo chain, after which the undos themselves become
  1018. undoable by subsequent invocations of `vm-undo'.
  1019.  
  1020.    Note that expunges, saves and message edits are *not* undoable.
  1021.  
  1022. 
  1023. File: vm.info,  Node: Grouping Messages,  Next: Reading Digests,  Prev: Undoing,  Up: Top
  1024.  
  1025. Grouping Messages
  1026. *****************
  1027.  
  1028.    In order to make numerous related messages easier to cope with, VM
  1029. provides the command `G' (`vm-group-messages'), which groups all
  1030. message in a folder according to some criterion.  "Grouping" causes
  1031. messages that are related in some way to be presented consecutively.
  1032. The actual order of the folder is not altered; the messages are simply
  1033. numbered and presented differently.  Grouping should not be confused
  1034. with sorting; grouping only moves messages that occur later in the
  1035. folder backward to "clump" with other related messages.
  1036.  
  1037.    The grouping criteria currently supported are:
  1038. `subject'
  1039.      Messages with the same subject (ignoring "Re:" prefixes) are
  1040.      grouped together.
  1041.  
  1042. `author'
  1043.      Messages with the same author are grouped together.
  1044.  
  1045. `recipient'
  1046.      Message with the same recipients are grouped together.
  1047.  
  1048. `date-sent'
  1049.      Messages sent on the same day are grouped together.
  1050.  
  1051. `physical-order'
  1052.      Message presentation reverts to physical message order of the
  1053.      folder (the default).
  1054.  
  1055.    If the variable `vm-group-by' has a non-`nil' value it specifies the
  1056. default grouping that will be used for all folders.  So if you like
  1057. having your mail presented to you grouped by subject, then put `(setq
  1058. vm-group-by "subject")' in your `.emacs' file to get this behavior.
  1059.  
  1060. 
  1061. File: vm.info,  Node: Reading Digests,  Next: Summaries,  Prev: Grouping Messages,  Up: Top
  1062.  
  1063. Reading Digests
  1064. ***************
  1065.  
  1066.    A "digest" is one or more mail messages encapsulated in a single
  1067. message.
  1068.  
  1069.    VM supports digests by providing a command to "burst" them into their
  1070. individual messages.  These messages can then be handled like any other
  1071. messages under VM.
  1072.  
  1073.    The command `*' (`vm-burst-digest') bursts a digest into its
  1074. individual messages and appends them to current folder.  These messages
  1075. are then assimilated into the current folder using the default
  1076. grouping.  *Note Grouping Messages::.  The original digest message is
  1077. not altered, and the messages extracted from it are not part of the
  1078. on-disk copy of the folder until a save is done.
  1079.  
  1080.    If you give a prefix argument to `vm-burst-digest', it will attempt
  1081. to cope with non-RFC 934 compliant digests.  If `vm-burst-digest' seems
  1082. to be breaking digests at inappropriate places, most likely the digest
  1083. is not compliant with the standard.  In this case try using the prefix
  1084. arg.
  1085.  
  1086. 
  1087. File: vm.info,  Node: Summaries,  Next: Miscellaneous,  Prev: Reading Digests,  Up: Top
  1088.  
  1089. Summaries
  1090. *********
  1091.  
  1092.    Typing `h' (`vm-summarize') causes VM to display a summary of
  1093. contents of the current folder.  The information in the summary is
  1094. automatically updated as changes are made to the current folder.  An
  1095. arrow `->' appears to the left of the line summarizing the current
  1096. message.  The variable `vm-auto-center-summary' controls whether VM
  1097. will keep the summary arrow vertically centered within the summary
  1098. window.  A value of `t' causes VM to always keep arrow centered.  A
  1099. value of `nil' means VM will never bother centering the arrow.  A value
  1100. that is not `nil' and not `t' causes VM to center the arrow only if the
  1101. summary window is not the only existing window.
  1102.  
  1103.    The variable `vm-summary-format' controls the format of each
  1104. message's summary.  Its value should be a string.  This string should
  1105. contain printf-like "%" conversion specifiers which substitute
  1106. information about the message into the final summary.
  1107.  
  1108.    Recognized specifiers are:
  1109.         a - attribute indicators (always four characters wide)
  1110.             The first char is  `D', `N', `U' or ` ' for deleted, new, unread
  1111.             and read messages respectively.
  1112.             The second char is `F', `W' or ` ' for filed (saved) or written
  1113.             messages.
  1114.             The third char is `R', `Z' or ` ' for messages replied to,
  1115.             and forwarded messages.
  1116.             The fourth char is `E' if the message has been edited,
  1117.             ` ' otherwise.
  1118.         A - longer version of attributes indicators (six characters wide)
  1119.             The first char is  `D', `N', `U' or ` ' for deleted, new, unread
  1120.             and read messages respectively.
  1121.             The second is `r' or ` ', for message replied to.
  1122.             The third is `z' or ` ', for messages forwarded.
  1123.             The fourth is `f' or ` ', for messages filed.
  1124.             The fifth is `w' or ` ', for messages written.
  1125.             The sixth is `e' or ` ', for messages that have been edited.
  1126.         c - number of characters in message (ignoring headers)
  1127.         d - numeric day of month message sent
  1128.         f - author's address
  1129.         F - author's full name (same as f if full name not found)
  1130.         h - hour message sent
  1131.         i - message ID
  1132.         l - number of lines in message (ignoring headers)
  1133.         m - month message sent
  1134.         M - numeric month message sent (January = 1)
  1135.         n - message number
  1136.         s - message subject
  1137.         t - addresses of the recipients of the message, in a comma-separated list
  1138.         T - full names of the recipients of the message, in a comma-separated list
  1139.             If a full name cannot be found, the corresponding address is used
  1140.             instead.
  1141.         w - day of the week message sent
  1142.         y - year message sent
  1143.         z - timezone of date when the message was sent
  1144.         * - `*' if the current message is marked, ` ' otherwise
  1145.  
  1146.    Use "%%" to get a single "%".
  1147.  
  1148.    A numeric field width may be specified between the "%" and the
  1149. specifier; this causes right justification of the substituted string.  A
  1150. negative field width causes left justification.  The field width may be
  1151. followed by a "." and a number specifying the maximum allowed length of
  1152. the substituted string.  If the string is longer than this value, it is
  1153. truncated.
  1154.  
  1155.    The summary format need not be one line per message but it must end
  1156. with a newline, otherwise the message pointer will not be displayed
  1157. correctly in the summary window.
  1158.  
  1159.    You can have a summary generated automatically at startup, *note
  1160. Starting Up::..
  1161.  
  1162.    All VM commands are available in the summary buffer just as they are
  1163. in the folder buffer itself.  If you set `vm-follow-summary-cursor'
  1164. non-`nil', VM will select the message under the cursor in the summary
  1165. window before executing commands that operate on the current message.
  1166. Note that this occurs *only* when executing a command from the summary
  1167. buffer window.
  1168.  
  1169. 
  1170. File: vm.info,  Node: Miscellaneous,  Prev: Summaries,  Up: Top
  1171.  
  1172. Miscellaneous
  1173. *************
  1174.  
  1175.    Here are some VM customization variables that don't really fit into
  1176. the other chapters.
  1177.  
  1178. `vm-confirm-quit'
  1179.      A value of t causes VM to always ask for confirmation before ending
  1180.      a VM visit of a folder.  A nil value means VM will ask only when
  1181.      messages will be lost unwittingly by quitting, i.e. not removed by
  1182.      intentional delete and expunge.  A value that is not nil and not t
  1183.      causes VM to ask only when there are unsaved changes to message
  1184.      attributes or message will be lost.
  1185.  
  1186. `vm-berkeley-mail-compatibility'
  1187.      A non-`nil' value means to read and write BSD Mail(1) style Status:
  1188.      headers.  This makes sense if you plan to use VM to read mail
  1189.      archives created by Mail.
  1190.  
  1191. `vm-gargle-uucp'
  1192.      A non-`nil' value means to use a crufty regular expression that
  1193.      does surprisingly well at beautifying UUCP addresses that are
  1194.      substituted for %f and %t as part of summary and attribution
  1195.      formats.
  1196.  
  1197. `vm-mode-hooks'
  1198.      A non-`nil' value should be a list of hook functions to run when a
  1199.      buffer enters vm-mode.  These hook functions should generally be
  1200.      used to set key bindings and local variables.  Mucking about in
  1201.      the folder buffer is certainly possible, but it is not encouraged.
  1202.  
  1203. `vm-delete-empty-folders'
  1204.      A non-`nil' value for this variable causes VM to remove empty (zero
  1205.      length) folder files after saving them.
  1206.  
  1207. `vm-mutable-windows'
  1208.      This variable's value controls VM's window usage.  A value of `t'
  1209.      gives VM free run of the Emacs display; it will commandeer the
  1210.      entire screen for its purposes.  A value of `nil' restricts VM's
  1211.      window usage to the window from which it was invoked.  VM will not
  1212.      create, delete, or use any other windows, nor will it resize its
  1213.      own window.  A value that is neither `t' nor `nil' allows VM to
  1214.      use other windows, but it will not create new ones, or resize or
  1215.      delete the current ones.
  1216.  
  1217. `mail-yank-hooks'
  1218.      Value should be a list of functions to be called after a message is
  1219.      yanked into a `*mail*' buffer via `vm-yank-message'.  When each
  1220.      hook function is called, point will be at the beginning of the
  1221.      yanked text and mark at the end.
  1222.  
  1223.      This is not a VM specific variable, but rather an external
  1224.      variable that VM honors so that citation packages such as
  1225.      SUPERCITE can be used with VM.
  1226.  
  1227. 
  1228. File: vm.info,  Node: Key Index,  Next: Command Index,  Prev: Top,  Up: Top
  1229.  
  1230. Key Index
  1231. *********
  1232.  
  1233. * Menu:
  1234.  
  1235. * #:                                    Deleting Messages.
  1236. * *:                                    Reading Digests.
  1237. * @:                                    Forwarding Messages.
  1238. * A:                                    Saving Messages.
  1239. * b:                                    Introduction.
  1240. * C-c C-v:                              Sending Messages.
  1241. * C-c C-y:                              Sending Messages.
  1242. * C-c y:                                Sending Messages.
  1243. * C-x u:                                Undoing.
  1244. * C-_:                                  Undoing.
  1245. * d:                                    Deleting Messages.
  1246. * DEL:                                  Introduction.
  1247. * F:                                    Replying.
  1248. * f:                                    Replying.
  1249. * g:                                    Introduction.
  1250. * G:                                    Grouping Messages.
  1251. * h:                                    Summaries.
  1252. * k:                                    Deleting Messages.
  1253. * L:                                    Starting Up.
  1254. * m:                                    Sending Messages.
  1255. * M-n:                                  Selecting Messages.
  1256. * M-p:                                  Selecting Messages.
  1257. * M-s:                                  Selecting Messages.
  1258. * n:                                    Selecting Messages.
  1259. * N:                                    Selecting Messages.
  1260. * p:                                    Selecting Messages.
  1261. * P:                                    Selecting Messages.
  1262. * q:                                    Introduction.
  1263. * r:                                    Replying.
  1264. * R:                                    Replying.
  1265. * RET:                                  Selecting Messages.
  1266. * s:                                    Saving Messages.
  1267. * S:                                    Introduction.
  1268. * SPC:                                  Introduction.
  1269. * TAB:                                  Selecting Messages.
  1270. * u:                                    Deleting Messages.
  1271. * v:                                    Starting Up.
  1272. * w:                                    Saving Messages.
  1273. * x:                                    Introduction.
  1274. * z:                                    Forwarding Messages.
  1275. * |:                                    Saving Messages.
  1276.  
  1277. 
  1278. File: vm.info,  Node: Command Index,  Next: Variable Index,  Prev: Key Index,  Up: Top
  1279.  
  1280. Command Index
  1281. *************
  1282.  
  1283. * Menu:
  1284.  
  1285. * vm:                                   Starting Up.
  1286. * vm-auto-archive-messages:             Saving Messages.
  1287. * vm-burst-digest:                      Reading Digests.
  1288. * vm-delete-message:                    Deleting Messages.
  1289. * vm-expose-hidden-headers:             Previewing.
  1290. * vm-expunge-folder:                    Deleting Messages.
  1291. * vm-followup:                          Replying.
  1292. * vm-followup-include-text:             Replying.
  1293. * vm-forward-message:                   Forwarding Messages.
  1294. * vm-get-new-mail:                      Introduction.
  1295. * vm-goto-message:                      Selecting Messages.
  1296. * vm-goto-message:                      Selecting Messages.
  1297. * vm-group-messages:                    Grouping Messages.
  1298. * vm-isearch-backward:                  Selecting Messages.
  1299. * vm-isearch-forward:                   Selecting Messages.
  1300. * vm-kill-subject:                      Deleting Messages.
  1301. * vm-load-rc:                           Starting Up.
  1302. * vm-mail:                              Sending Messages.
  1303. * vm-mode:                              Starting Up.
  1304. * vm-Next-message:                      Selecting Messages.
  1305. * vm-next-message:                      Selecting Messages.
  1306. * vm-next-unread-message:               Selecting Messages.
  1307. * vm-pipe-message-to-command:           Saving Messages.
  1308. * vm-previous-message:                  Selecting Messages.
  1309. * vm-Previous-message:                  Selecting Messages.
  1310. * vm-previous-unread-message:           Selecting Messages.
  1311. * vm-quit:                              Introduction.
  1312. * vm-quit-no-change:                    Introduction.
  1313. * vm-reply:                             Replying.
  1314. * vm-reply-include-text:                Replying.
  1315. * vm-save-folder:                       Introduction.
  1316. * vm-save-message:                      Saving Messages.
  1317. * vm-save-message-sans-headers:         Saving Messages.
  1318. * vm-scroll-backward:                   Introduction.
  1319. * vm-scroll-forward:                    Introduction.
  1320. * vm-send-digest:                       Forwarding Messages.
  1321. * vm-summarize:                         Summaries.
  1322. * vm-undelete-message:                  Deleting Messages.
  1323. * vm-undo:                              Undoing.
  1324. * vm-visit-folder:                      Starting Up.
  1325. * vm-yank-message:                      Sending Messages.
  1326. * vm-yank-message-other-folder:         Sending Messages.
  1327.  
  1328. 
  1329. File: vm.info,  Node: Variable Index,  Next: Introduction,  Prev: Command Index,  Up: Top
  1330.  
  1331. Variable Index
  1332. **************
  1333.  
  1334. * Menu:
  1335.  
  1336. * mail-yank-hooks:                      Miscellaneous.
  1337. * vm-auto-center-summary:               Summaries.
  1338. * vm-auto-folder-alist:                 Saving Messages.
  1339. * vm-auto-folder-case-fold-search:      Saving Messages.
  1340. * vm-auto-next-message:                 Paging.
  1341. * vm-berkeley-mail-compatibility:       Miscellaneous.
  1342. * vm-circular-folders:                  Selecting Messages.
  1343. * vm-confirm-new-folders:               Saving Messages.
  1344. * vm-confirm-quit:                      Miscellaneous.
  1345. * vm-crash-box:                         Starting Up.
  1346. * vm-delete-after-saving:               Saving Messages.
  1347. * vm-delete-empty-folders:              Miscellaneous.
  1348. * vm-digest-center-preamble:            Forwarding Messages.
  1349. * vm-digest-preamble-format:            Forwarding Messages.
  1350. * vm-folder-directory:                  Saving Messages.
  1351. * vm-follow-summary-cursor:             Summaries.
  1352. * vm-forwarding-subject-format:         Forwarding Messages.
  1353. * vm-gargle-uucp:                       Miscellaneous.
  1354. * vm-group-by:                          Grouping Messages.
  1355. * vm-highlighted-header-regexp:         Previewing.
  1356. * vm-in-reply-to-format:                Replying.
  1357. * vm-included-text-attribution-format:  Replying.
  1358. * vm-included-text-prefix:              Replying.
  1359. * vm-inhibit-startup-message:           Starting Up.
  1360. * vm-invisible-header-regexp:           Previewing.
  1361. * vm-mail-window-percentage:            Starting Up.
  1362. * vm-mode-hooks:                        Miscellaneous.
  1363. * vm-move-after-deleting:               Deleting Messages.
  1364. * vm-move-after-undeleting:             Deleting Messages.
  1365. * vm-mutable-windows:                   Miscellaneous.
  1366. * vm-preview-lines:                     Previewing.
  1367. * vm-preview-read-messages:             Previewing.
  1368. * vm-primary-inbox:                     Starting Up.
  1369. * vm-reply-ignored-addresses:           Replying.
  1370. * vm-reply-subject-prefix:              Replying.
  1371. * vm-rfc934-forwarding:                 Forwarding Messages.
  1372. * vm-search-using-regexps:              Selecting Messages.
  1373. * vm-skip-deleted-messages:             Selecting Messages.
  1374. * vm-skip-read-messages:                Selecting Messages.
  1375. * vm-spool-files:                       Starting Up.
  1376. * vm-startup-with-summary:              Starting Up.
  1377. * vm-strip-reply-headers:               Replying.
  1378. * vm-summary-format:                    Summaries.
  1379. * vm-visible-headers:                   Previewing.
  1380. * vm-visit-when-saving:                 Saving Messages.
  1381.  
  1382.  
  1383. 
  1384. Tag Table:
  1385. Node: Top344
  1386. Node: License1601
  1387. Node: Introduction14912
  1388. Node: Starting Up19222
  1389. Node: Selecting Messages23654
  1390. Node: Reading Messages26913
  1391. Node: Previewing27308
  1392. Node: Paging30191
  1393. Node: Sending Messages31302
  1394. Node: Replying33634
  1395. Node: Forwarding Messages37244
  1396. Node: Saving Messages39067
  1397. Node: Deleting Messages44125
  1398. Node: Editing Messages45464
  1399. Node: Message Marks46457
  1400. Node: Undoing47914
  1401. Node: Grouping Messages48450
  1402. Node: Reading Digests49867
  1403. Node: Summaries50916
  1404. Node: Miscellaneous54900
  1405. Node: Key Index57361
  1406. Node: Command Index59778
  1407. Node: Variable Index62271
  1408. 
  1409. End Tag Table
  1410.